package com.sg.dto.biz.framework.common;


import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;


/**
 * @desc PositionDto
 * @使用场景
 */
@Data
public class PositionDto extends BaseDto implements Serializable {

    /**
     * 职务ID:
     */
    @ApiModelProperty("职务ID")
    private String positionId;

    /**
     * 冗余职务名称:
     */
    @ApiModelProperty("冗余职务名称")
    private String positionIdName;
    /**
     * 组织职务关系ID:
     */
    @ApiModelProperty("组织职务关系ID")
    private String orgPositionRelationshipId;
    /**
     * 职务编号:
     */
    @ApiModelProperty("职务编号")
    private String positionNumber;
    /**
     * 职务性质:
     */
    @ApiModelProperty(" 职务性质")
    private String positionType;
    /**
     * 关联岗位ID:
     */
    @ApiModelProperty("关联岗位ID")
    private String stationId;
    /**
     * 关联角色编码:
     */
    @ApiModelProperty("关联角色编码")
    private String roleCode;
    /**
     * 职务级别ID:
     */
    @ApiModelProperty("职务级别ID")
    private String positionGradeId;
    /**
     * 职务级别名称:
     */
    @ApiModelProperty("职务级别名称")
    private String positionGradeName;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        PositionDto that = (PositionDto) o;
        return positionId == that.positionId && positionIdName == that.positionIdName && orgPositionRelationshipId == that.orgPositionRelationshipId && positionNumber == that.positionNumber && positionType == that.positionType && stationId == that.stationId && roleCode == that.roleCode && positionGradeId == that.positionGradeId && positionGradeName == that.positionGradeName;
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), positionId, positionIdName, orgPositionRelationshipId, positionNumber, positionType, stationId, roleCode, positionGradeId, positionGradeName);
    }

}
